/*
 * Celda.h
 *
 *  Created on: Oct 26, 2013
 *      Author: javier
 */

#ifndef CELDA_H_
#define CELDA_H_

#include "Pieza.h"
#include "CeldaBase.h"
#include "Pieza.h"
#include "Button.h"
#include "GoldenStar.h"
#include "MiniBar.h"


using Golosinas::Pieza;

class Celda : public CeldaBase{
public:
	Celda(Pieza * p,CeldaBase * CeldaAnt);
	Celda(CeldaBase * CeldaAnt);
	virtual ~Celda();
	int eliminarContenido();
	Pieza * pedirGolosina(int nCol);
	bool intercambiarGolosina(CeldaBase& c);
	Pieza * darGolosina(int nCol);
	bool operator ==(Celda& c);
	Pieza * getGolosina();
	Pieza::color getColorGolosina();
	void reemplazarPieza(Pieza * p);
	std::string imprimir();
	void setGolosina(Pieza * p);
	bool operator ==(CeldaBase& c);
	//void llenarAleatoriamente();
	CeldaSDL* getVista(unsigned int x, unsigned int y, unsigned int num);
	bool isVacia();
private:
	Pieza * miPieza;
};

#endif /* CELDA_H_ */
